﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class Ametikoht : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IAmetikoht {
        
        private System.Int64? @__objektID;
        
        private string @__ametikohaNimetus;
        
        private string @__organisatsiooniyksuseNimetus;
        
        private global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsik @__organisatsiooniyksus;
        
        private System.Int32? @__lopetatudKlassideArv;
        
        private System.DateTime? @__algusKP;
        
        private System.DateTime? @__loppKP;
        
        private System.DateTime? @__sulgemiseKP;
        
        private string @__klientsysteemiID;
        
        public Ametikoht() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public Ametikoht(System.Int64? @objektID, string @ametikohaNimetus, string @organisatsiooniyksuseNimetus, global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsik @organisatsiooniyksus, System.Int32? @lopetatudKlassideArv, System.DateTime? @algusKP, System.DateTime? @loppKP, System.DateTime? @sulgemiseKP, string @klientsysteemiID) {
            this.@__objektID = @objektID;
            this.@__ametikohaNimetus = @ametikohaNimetus;
            this.@__organisatsiooniyksuseNimetus = @organisatsiooniyksuseNimetus;
            this.@__organisatsiooniyksus = @organisatsiooniyksus;
            this.@__lopetatudKlassideArv = @lopetatudKlassideArv;
            this.@__algusKP = @algusKP;
            this.@__loppKP = @loppKP;
            this.@__sulgemiseKP = @sulgemiseKP;
            this.@__klientsysteemiID = @klientsysteemiID;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected Ametikoht(IAmetikoht @ametikoht) {
            this.@__objektID = @ametikoht.ObjektID;
            this.@__ametikohaNimetus = @ametikoht.AmetikohaNimetus;
            this.@__organisatsiooniyksuseNimetus = @ametikoht.OrganisatsiooniyksuseNimetus;
            this.@__organisatsiooniyksus = @ametikoht.Organisatsiooniyksus;
            this.@__lopetatudKlassideArv = @ametikoht.LopetatudKlassideArv;
            this.@__algusKP = @ametikoht.AlgusKP;
            this.@__loppKP = @ametikoht.LoppKP;
            this.@__sulgemiseKP = @ametikoht.SulgemiseKP;
            this.@__klientsysteemiID = @ametikoht.KlientsysteemiID;
        }
        
        public virtual System.Int64? ObjektID {
            get {
                return this.@__objektID;
            }
            set {
                this.@__objektID = value;
            }
        }
        
        public virtual string AmetikohaNimetus {
            get {
                return this.@__ametikohaNimetus;
            }
            set {
                this.@__ametikohaNimetus = value;
            }
        }
        
        public virtual string OrganisatsiooniyksuseNimetus {
            get {
                return this.@__organisatsiooniyksuseNimetus;
            }
            set {
                this.@__organisatsiooniyksuseNimetus = value;
            }
        }
        
        public virtual global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsik Organisatsiooniyksus {
            get {
                return this.@__organisatsiooniyksus;
            }
            set {
                this.@__organisatsiooniyksus = value;
            }
        }
        
        public virtual System.Int32? LopetatudKlassideArv {
            get {
                return this.@__lopetatudKlassideArv;
            }
            set {
                this.@__lopetatudKlassideArv = value;
            }
        }
        
        public virtual System.DateTime? AlgusKP {
            get {
                return this.@__algusKP;
            }
            set {
                this.@__algusKP = value;
            }
        }
        
        public virtual System.DateTime? LoppKP {
            get {
                return this.@__loppKP;
            }
            set {
                this.@__loppKP = value;
            }
        }
        
        public virtual System.DateTime? SulgemiseKP {
            get {
                return this.@__sulgemiseKP;
            }
            set {
                this.@__sulgemiseKP = value;
            }
        }
        
        public virtual string KlientsysteemiID {
            get {
                return this.@__klientsysteemiID;
            }
            set {
                this.@__klientsysteemiID = value;
            }
        }
    }
}
